package com.tyqx.hashchainbiz.controller.supplier;

import com.tyqx.hashchainbean.module.ProduceProductOut;
import com.tyqx.hashchainbean.module.ShippingInfo;
import com.tyqx.hashchainbean.vo.*;
import com.tyqx.hashchainbiz.service.ProduceProductOutService;
import com.tyqx.hashchainbiz.service.QueryDonateService;
import com.tyqx.hashchainbiz.service.TrackDonateService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@Api(description = "销售出库")
@RestController
@RequestMapping("/produceProductOut")
@CrossOrigin
public class ProduceProductOutController {

    @Resource
    private ProduceProductOutService produceProductOutService;

    @RequestMapping(value="/saveProduceProductOut", method = RequestMethod.POST)
    @ResponseBody
    public String saveProduceProductOut(@RequestBody ProduceProductOutVO produceProductOutVO) throws Exception {

        String msg="";
        ProduceProductOut produceProductOut=new ProduceProductOut();
        produceProductOut.setBuyer(produceProductOutVO.getBuyer());
        produceProductOut.setEffectPeriod(produceProductOutVO.getEffectPeriod());
        produceProductOut.setOutName(produceProductOutVO.getOutName());
        produceProductOut.setOutNum(produceProductOutVO.getOutNum());
        produceProductOut.setOutPrice(produceProductOutVO.getOutPrice());
        produceProductOut.setUserName(produceProductOutVO.getUserName());
        produceProductOut.setOutTime(produceProductOutVO.getOutTime());
        produceProductOut.setOutUnit(produceProductOutVO.getOutUnit());
        produceProductOut.setShipId(produceProductOutVO.getShipId());
        produceProductOut.setShipper(produceProductOutVO.getShipper());
        if(produceProductOutService.produceProductOut(produceProductOut)>0){
            msg="添加销售出库成功";
        }else{
            msg="添加销售出库失败";
        }
        return msg;
    }

    @RequestMapping(value="/getProduceProductOutById", method = RequestMethod.POST,
            produces = "application/json")
    @ResponseBody
    public List<ProduceProductOut> getProduceProductOutById(@RequestBody QueryParamVo queryParamVo) throws Exception {

        return produceProductOutService.getProduceProductOutById(queryParamVo.getDonateId(),queryParamVo.getUserName());
    }

    @RequestMapping(value="/getProduceProductOutByTime", method = RequestMethod.POST,
            produces = "application/json")
    @ResponseBody
    public List<ProduceProductOut> getProductOutByTime(@RequestBody QueryTimeParamVo queryTimeParamVo) throws Exception {

        return produceProductOutService.getProduceProductOutByTime(queryTimeParamVo.getStartTime(),
                queryTimeParamVo.getEndTime(),queryTimeParamVo.getUserName());
    }
}
